package chai.ning.wrapper1;

/**
 * 1、Byte 、Short 、Integer 、Long 都有一个接受其相应的基本类型的 valueOf( String s , int radix )方法
 * 2、valueOf( String s , int radix ) 将用字符串表示的数字(s)按照指定的进制(radix)解析为十进制整数后，再包装到相应类型的对象中
 * 3、Byte 、Short 、Integer 、Long 都有一个接受其相应的基本类型的 valueOf( String s )方法
 * 4、valueOf( String s ) 将用字符串表示的数字(s)按照十进制解析为十进制整数后，再包装到相应类型的对象中
 */
public class NumberTest2 {

	public static void main(String[] args) {
		
		Number x = null ; // 引用变量 x 的编译时类型 Number
		
		String s = "1010101" ;
		
		// 将字符串中的0和1按照二进制解析为十进制整数后，再将整数包装到一个Byte实例中
		x = Byte.valueOf( s , 2 );
		System.out.println( x );
		System.out.println( x.getClass() );
		
		x = Short.valueOf( s , 2 );
		System.out.println( x );
		System.out.println( x.getClass() );
		
		x = Integer.valueOf( s , 16 );
		System.out.println( x );
		System.out.println( x.getClass() );
		
		x = Long.valueOf( s , 36 );
		System.out.println( x );
		System.out.println( x.getClass() );
		
		System.out.println( "- - - -" );
		
		s = "101" ;
		x = Byte.valueOf( s );
		System.out.println( x + " : " + x.getClass().getCanonicalName() );
		
		x = Short.valueOf( s );
		System.out.println( x + " : " + x.getClass().getCanonicalName() );
		
		x = Integer.valueOf( s );
		System.out.println( x + " : " + x.getClass().getCanonicalName() );
		
		x = Long.valueOf( s );
		System.out.println( x + " : " + x.getClass().getCanonicalName() );
		
	}

}
